package com.apexedu.identity.service;

import com.apexedu.framework.service.BaseService;
import com.apexedu.identity.entity.TSysButton;
import com.apexedu.identity.entity.TSysMenu;
import com.apexedu.identity.entity.TSysRole;
import com.apexedu.identity.entity.TSysUser;

import java.util.List;

public interface IdUserService extends BaseService {
	public static String USER_STATE_BASE = "9";//用于从基础库查询到用户的状态
	public static String MENU_DEFAULT_FLAG = "default";//默认从菜单标识
	/**
	 * 根据用户登录ID查询用户信息
	 * 
	 * @param loginID 用户登录ID
	 * @return 用户对象User实体
	 */
	public TSysUser entity(String loginID);

	/**
	 * 加载用户权限下的菜单
	 * 
	 * @param user
	 * @return 菜单集合
	 */
	public List<TSysMenu> loadMyMenu(TSysUser user);

	/**
	 * 用户修改密码
	 * 
	 * @param sessionUser session中的用户信息
	 * @param user 用户页面提交上来的用户信息
	 * @return 修改结果（成功、失败，或是其他消息）
	 */
	public String modifyPassword(TSysUser sessionUser, TSysUser user);

	/**
	 * 加载用户权限下的菜单按钮
	 * 
	 * @param user
	 * @return 菜单按钮集合
	 */
	public List<TSysButton> loadMyMenuButton(TSysUser user);

    /**
     * 获取 所属部门的下拉框数据,返回拼装后的js数据
     */
    public String departsJS();

    /**
     * 取得此用户的所属角色
     * @return
     */
    public List<TSysRole> getAllRoles();

    /**
     * 将门户中TUser表中的数据，同步到t_sys_user表中
     * @return
     */
    public String exportUsers();

    public TSysUser getRemoteUser(String userLoginId);
}
